#pragma once
#include <vector>

#include "PullObserver.h"
#include "Event.h"

class PullTarget
{
public:
	void AddObserver(IPullObserver& observer);
	void RemoveObserver(IPullObserver& observer);
	void SetEvent(const Event& event);
	const Event& GetEvent() const { return _event; }
private:
	void Notify() const;
private:
	std::vector<IPullObserver*> _observers;
	Event _event;
};